[Python] TypeSpec migration for azure-mgmt-kusto#47195
Draft
msyyc wants to merge 4 commits into
Draft
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[Python] TypeSpec migration for
azure-mgmt-kustoSpec source
2025-02-14(default tag:package-2025-02)2025-02-14(matched from swagger default tag)Breaking change classification summary
if_match/if_none_match→etag/match_condition(Rule 10)ClustersOperations.begin_create_or_updateNo spec-side mitigations were required: every breaking change is in the ACCEPT category per the SDK breaking-changes guide, or reflects a genuine service-side feature removal (NSP).
Accepted breaking changes that will remain
Multi-level property flattening removed (Rule 11)
Many models now expose a nested
propertiesobject that previously had its members flattened onto the parent. Affected models:ClusterPrincipalAssignment(flattened →properties: ClusterPrincipalProperties)ClusterUpdate(flattened →properties)DatabasePrincipalAssignment(flattened →properties: DatabasePrincipalProperties)EventGridDataConnection(flattened →properties: EventGridConnectionProperties)EventGridDataConnectionWithManagedIdentity(flattened →properties: EventGridConnectionWithManagedIdentityProperties)EventHubDataConnection(flattened →properties: EventHubConnectionProperties)EventHubDataConnectionWithManagedIdentity(flattened →properties: EventHubConnectionWithManagedIdentityProperties)IotHubDataConnection(flattened →properties: IotHubConnectionProperties)FollowerDatabaseDefinitionGet(flattened →properties: FollowerDatabaseProperties)Users must access these fields via
.properties.<field>going forward, matching the REST API shape.Pageable list models removed (Rule 8)
FollowerDatabaseListResultGetListResourceSkusResultSkuDescriptionListPageable response wrappers are no longer exposed by the Python SDK; list operations return iterators directly.
Network Security Perimeter feature removed
The Network Security Perimeter (NSP) types do not exist in the TypeSpec spec — this is a service-side feature removal, not an SDK regression. Removed types:
NetworkSecurityPerimeter,NetworkSecurityPerimeterConfiguration,NetworkSecurityPerimeterConfigurationList,NetworkSecurityPerimeterConfigurationPropertiesProfile,NetworkSecurityPerimeterConfigurationPropertiesResourceAssociation,NetworkSecurityPerimeterConfigurationProvisioningStateNspAccessRule,NspAccessRuleDirection,NspAccessRuleProperties,NspAccessRulePropertiesSubscriptionsItemProvisioningIssue,ProvisioningIssuePropertiesIssueType,Severity,ResourceAssociationAccessModeif_match/if_none_matchreplaced byetag/match_condition(Rule 10)ClustersOperations.begin_create_or_update:if_match,if_none_matchremoved;etag,match_conditionaddedClustersOperations.begin_update:if_matchremoved;etag,match_conditionaddedReplace
if_match="<etag>"withetag="<etag>", match_condition=MatchConditions.IfNotModified.Parameters changed to keyword-only (Rule 9)
DatabasesOperations.begin_create_or_update:caller_roleis now keyword-only (defaultNone)DatabasesOperations.begin_update:caller_roleis now keyword-only (defaultNone)DatabasesOperations.list_by_cluster:skiptokenis now keyword-onlyParameter reordering
ClustersOperations.begin_create_or_updateparameter order changed as a direct consequence of theif_match/if_none_match→etag/match_conditionreplacement.Spec mitigation PR
None required — no
client.tspwas created.